<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h2>ajax+form-插件</h2>
    <!-- 
      action 提交的接口地址
      method 提交的方法
     -->
    <form action="http://ajax-api.itheima.net/api/data" method="post">
      <!-- name 提交到服务器数据的 key -->
      <input
        class="username"
        name="username"
        type="text"
        placeholder="请输入用户名"
      />
      <br />
      <input
        class="food"
        name="food"
        type="text"
        placeholder="请输入喜欢的食物"
      />
      <br />
      <input
        class="sign"
        name="sign"
        type="textarea"
        placeholder="请输入个性签名"
      />
      <br />
      <input
        class="male"
        name="male"
        type="textarea"
        placeholder="请输入性别"
      />
      <br />
      <input
        class="male"
        name="hobby"
        type="textarea"
        placeholder="请输入爱好"
      />
      <br />
      <input class="male" name="age" type="textarea" placeholder="请输入年龄" />
      <br />
      <button type="submit">提交</button>
    </form>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <!-- 1. 导入插件 -->
    <script src="./lib/form-serialize.js"></script>
    <script>
      document.querySelector('form').onsubmit = function (e) {
        // 阻止默认行为
        e.preventDefault()
        // console.log('serialize:', serialize)
        // 用法1 传入表单 不传递选项
        // name=value&name2=value2 这种格式的数据
        // const data = serialize(document.querySelector('form'))
        // console.log('data:', data)

        // 用法2 传递选项 { hash: true } 获取到的 是 对象
        // 属性名 是name属性
        // 属性的值 对应的value值
        const data = serialize(document.querySelector('form'), { hash: true })
        console.log('data:', data)

        axios({
          method: 'post',
          url: 'http://ajax-api.itheima.net/api/data',
          data, // data: data,
        }).then((res) => {
          console.log('res:', res)
        })
      }
    </script>
  </body>
</html>
